/*
 * The MIT License
 *
 * Copyright 2015 chronosinfo.com.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 * Autor John Vanderson M Lima
 */
package com.chronos.pafecf.entidades;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Temporal;

/**
 *
 * @author usuario
 */

public class EcfConfiguracao implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "ID", nullable = false)
    private Integer id;
    private Integer idCaixa;
    private Integer idEmpresa;
    private Integer idResolucao;
    private Integer idImpressora;
    private String mensagemCupom;
    private String portaEcf;
    private String ipServidor;
    private String ipSitef;
    private String tipoTef;
    private String tituloTelaCaixa;
    private String caminhoImagensProdutos;
    private String caminhoImagensMarketing;
    private String caminhoImagensLayout;
    private String corJanelasInternas;
    private String marketingAtivo;
    private Integer cfopEcf;
    private Integer cfopNf2;
    private Integer timeOutEcf;
    private Integer intervaloEcf;
    private String descricaoSuprimento;
    private String descricaoSangria;
    private Integer tefTipoGp;
    private Integer tefTempoEspera;
    private Integer tefEsperaSts;
    private Integer tefNumeroVias;
    private Integer decimaisQuantidade;
    private Integer decimaisValor;
    private Integer bitsPorSegundo;
    private Integer qtdeMaximaCartoes;
    private String pesquisaParte;
    private String configuracaoBalanca;
    private String parametrosDiversos;
    private Integer ultimaExclusao;
    private String laudo;
    private String indiceGerencial;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataAtualizacaoEstoque;
    private String sincronizado;
    private EcfResolucao resolucao;
    private EcfImpressora impressora;

    /*
     * campos transientes
     */
    private String nomeCaixa;
    private String modeloImpressora;

    // Montados a partir do campo configuracaoBalanca
    private String balancaIdentificadorBalanca;
    private Integer balancaModelo;
    private Integer balancaHandShaking;
    private Integer balancaParity;
    private Integer balancaStopBits;
    private Integer balancaDataBits;
    private Integer balancaBaudRate;
    private String balancaPortaSerial;
    private Integer balancaTimeOut;
    private String balancaTipoConfiguracaoBalanca;

    // Montados a partir do campo indiceGerencial
    private Integer gerencialX;
    private Integer meiosDePagamento;
    private Integer davEmitidos;
    private Integer identificacaoPaf;
    private Integer parametrosDeConfiguracao;
    private Integer relatorio;

    // Montados a partir do campo parametrosDiversos
    private Integer pedeCPFCupom;
    private Integer usaIntegracao;
    private Integer timerIntegracao;
    private Integer gavetaDinheiro;
    private Integer sinalInvertido;
    private Integer qtdeMaximaParcelas;
    private Integer imprimeParcelas;
    private Integer tecladoReduzido;
    private Integer usaLeitorSerial;
    private String portaLeitorSerial;
    private String baudLeitorSerial;
    private String sufixoLeitorSerial;
    private String intervaloLeitorSerial;
    private String dataLeitorSerial;
    private Integer paridadeLeitorSerial;
    private Integer hardFlowLeitorSerial;
    private Integer softFlowLeitorSerial;
    private Integer handShakeLeitorSerial;
    private Integer stopLeitorSerial;
    private Integer filaLeitorSerial;
    private Integer excluiSufixoLeitorSerial;
    private Integer lancamentoNotasManuais;
    private String numSerieEcf;

    public EcfConfiguracao() {
    }

    public EcfConfiguracao(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getMensagemCupom() {
        return mensagemCupom;
    }

    public void setMensagemCupom(String mensagemCupom) {
        this.mensagemCupom = mensagemCupom;
    }

    public String getPortaEcf() {
        return portaEcf;
    }

    public void setPortaEcf(String portaEcf) {
        this.portaEcf = portaEcf;
    }

    public String getIpServidor() {
        return ipServidor;
    }

    public void setIpServidor(String ipServidor) {
        this.ipServidor = ipServidor;
    }

    public String getIpSitef() {
        return ipSitef;
    }

    public void setIpSitef(String ipSitef) {
        this.ipSitef = ipSitef;
    }

    public String getTipoTef() {
        return tipoTef;
    }

    public void setTipoTef(String tipoTef) {
        this.tipoTef = tipoTef;
    }

    public String getTituloTelaCaixa() {
        return tituloTelaCaixa;
    }

    public void setTituloTelaCaixa(String tituloTelaCaixa) {
        this.tituloTelaCaixa = tituloTelaCaixa;
    }

    public String getCaminhoImagensProdutos() {
        return caminhoImagensProdutos;
    }

    public void setCaminhoImagensProdutos(String caminhoImagensProdutos) {
        this.caminhoImagensProdutos = caminhoImagensProdutos;
    }

    public String getCaminhoImagensMarketing() {
        return caminhoImagensMarketing;
    }

    public void setCaminhoImagensMarketing(String caminhoImagensMarketing) {
        this.caminhoImagensMarketing = caminhoImagensMarketing;
    }

    public String getCaminhoImagensLayout() {
        return caminhoImagensLayout;
    }

    public void setCaminhoImagensLayout(String caminhoImagensLayout) {
        this.caminhoImagensLayout = caminhoImagensLayout;
    }

    public String getCorJanelasInternas() {
        return corJanelasInternas;
    }

    public void setCorJanelasInternas(String corJanelasInternas) {
        this.corJanelasInternas = corJanelasInternas;
    }

    public Integer getCfopEcf() {
        return cfopEcf;
    }

    public void setCfopEcf(Integer cfopEcf) {
        this.cfopEcf = cfopEcf;
    }

    public Integer getCfopNf2() {
        return cfopNf2;
    }

    public void setCfopNf2(Integer cfopNf2) {
        this.cfopNf2 = cfopNf2;
    }

    public Integer getIntervaloEcf() {
        return intervaloEcf;
    }

    public void setIntervaloEcf(Integer intervaloEcf) {
        this.intervaloEcf = intervaloEcf;
    }

    public String getDescricaoSuprimento() {
        return descricaoSuprimento;
    }

    public void setDescricaoSuprimento(String descricaoSuprimento) {
        this.descricaoSuprimento = descricaoSuprimento;
    }

    public String getDescricaoSangria() {
        return descricaoSangria;
    }

    public void setDescricaoSangria(String descricaoSangria) {
        this.descricaoSangria = descricaoSangria;
    }

    public Integer getIdCaixa() {
        return idCaixa;
    }

    public void setIdCaixa(Integer idCaixa) {
        this.idCaixa = idCaixa;
    }

    public Integer getIdEmpresa() {
        return idEmpresa;
    }

    public void setIdEmpresa(Integer idEmpresa) {
        this.idEmpresa = idEmpresa;
    }

    public Integer getIdResolucao() {
        return idResolucao;
    }

    public void setIdResolucao(Integer idResolucao) {
        this.idResolucao = idResolucao;
    }

    public Integer getIdImpressora() {
        return idImpressora;
    }

    public void setIdImpressora(Integer idImpressora) {
        this.idImpressora = idImpressora;
    }

    public String getMarketingAtivo() {
        return marketingAtivo;
    }

    public void setMarketingAtivo(String marketingAtivo) {
        this.marketingAtivo = marketingAtivo;
    }

    public Integer getTimeOutEcf() {
        return timeOutEcf;
    }

    public void setTimeOutEcf(Integer timeOutEcf) {
        this.timeOutEcf = timeOutEcf;
    }

    public String getPesquisaParte() {
        return pesquisaParte;
    }

    public void setPesquisaParte(String pesquisaParte) {
        this.pesquisaParte = pesquisaParte;
    }

    public String getSincronizado() {
        return sincronizado;
    }

    public void setSincronizado(String sincronizado) {
        this.sincronizado = sincronizado;
    }

    public EcfResolucao getResolucao() {
        return resolucao;
    }

    public void setResolucao(EcfResolucao resolucao) {
        this.resolucao = resolucao;
    }

    public EcfImpressora getImpressora() {
        return impressora;
    }

    public void setImpressora(EcfImpressora impressora) {
        this.impressora = impressora;
    }

    public String getNomeCaixa() {
        return nomeCaixa;
    }

    public void setNomeCaixa(String nomeCaixa) {
        this.nomeCaixa = nomeCaixa;
    }

    public String getModeloImpressora() {
        return modeloImpressora;
    }

    public void setModeloImpressora(String modeloImpressora) {
        this.modeloImpressora = modeloImpressora;
    }

    public String getBalancaIdentificadorBalanca() {
        return balancaIdentificadorBalanca;
    }

    public void setBalancaIdentificadorBalanca(String balancaIdentificadorBalanca) {
        this.balancaIdentificadorBalanca = balancaIdentificadorBalanca;
    }

    public Integer getBalancaModelo() {
        return balancaModelo;
    }

    public void setBalancaModelo(Integer balancaModelo) {
        this.balancaModelo = balancaModelo;
    }

    public Integer getBalancaHandShaking() {
        return balancaHandShaking;
    }

    public void setBalancaHandShaking(Integer balancaHandShaking) {
        this.balancaHandShaking = balancaHandShaking;
    }

    public Integer getBalancaParity() {
        return balancaParity;
    }

    public void setBalancaParity(Integer balancaParity) {
        this.balancaParity = balancaParity;
    }

    public Integer getBalancaStopBits() {
        return balancaStopBits;
    }

    public void setBalancaStopBits(Integer balancaStopBits) {
        this.balancaStopBits = balancaStopBits;
    }

    public Integer getBalancaDataBits() {
        return balancaDataBits;
    }

    public void setBalancaDataBits(Integer balancaDataBits) {
        this.balancaDataBits = balancaDataBits;
    }

    public Integer getBalancaBaudRate() {
        return balancaBaudRate;
    }

    public void setBalancaBaudRate(Integer balancaBaudRate) {
        this.balancaBaudRate = balancaBaudRate;
    }

    public String getBalancaPortaSerial() {
        return balancaPortaSerial;
    }

    public void setBalancaPortaSerial(String balancaPortaSerial) {
        this.balancaPortaSerial = balancaPortaSerial;
    }

    public Integer getBalancaTimeOut() {
        return balancaTimeOut;
    }

    public void setBalancaTimeOut(Integer balancaTimeOut) {
        this.balancaTimeOut = balancaTimeOut;
    }

    public String getBalancaTipoConfiguracaoBalanca() {
        return balancaTipoConfiguracaoBalanca;
    }

    public void setBalancaTipoConfiguracaoBalanca(String balancaTipoConfiguracaoBalanca) {
        this.balancaTipoConfiguracaoBalanca = balancaTipoConfiguracaoBalanca;
    }

    public Integer getGerencialX() {
        return gerencialX;
    }

    public void setGerencialX(Integer gerencialX) {
        this.gerencialX = gerencialX;
    }

    public Integer getMeiosDePagamento() {
        return meiosDePagamento;
    }

    public void setMeiosDePagamento(Integer meiosDePagamento) {
        this.meiosDePagamento = meiosDePagamento;
    }

    public Integer getDavEmitidos() {
        return davEmitidos;
    }

    public void setDavEmitidos(Integer davEmitidos) {
        this.davEmitidos = davEmitidos;
    }

    public Integer getIdentificacaoPaf() {
        return identificacaoPaf;
    }

    public void setIdentificacaoPaf(Integer identificacaoPaf) {
        this.identificacaoPaf = identificacaoPaf;
    }

    public Integer getParametrosDeConfiguracao() {
        return parametrosDeConfiguracao;
    }

    public void setParametrosDeConfiguracao(Integer parametrosDeConfiguracao) {
        this.parametrosDeConfiguracao = parametrosDeConfiguracao;
    }

    public Integer getRelatorio() {
        return relatorio;
    }

    public void setRelatorio(Integer relatorio) {
        this.relatorio = relatorio;
    }

    public Integer getPedeCPFCupom() {
        return pedeCPFCupom;
    }

    public void setPedeCPFCupom(Integer pedeCPFCupom) {
        this.pedeCPFCupom = pedeCPFCupom;
    }

    public Integer getUsaIntegracao() {
        return usaIntegracao;
    }

    public void setUsaIntegracao(Integer usaIntegracao) {
        this.usaIntegracao = usaIntegracao;
    }

    public Integer getTimerIntegracao() {
        return timerIntegracao;
    }

    public void setTimerIntegracao(Integer timerIntegracao) {
        this.timerIntegracao = timerIntegracao;
    }

    public Integer getGavetaDinheiro() {
        return gavetaDinheiro;
    }

    public void setGavetaDinheiro(Integer gavetaDinheiro) {
        this.gavetaDinheiro = gavetaDinheiro;
    }

    public Integer getSinalInvertido() {
        return sinalInvertido;
    }

    public void setSinalInvertido(Integer sinalInvertido) {
        this.sinalInvertido = sinalInvertido;
    }

    public Integer getQtdeMaximaParcelas() {
        return qtdeMaximaParcelas;
    }

    public void setQtdeMaximaParcelas(Integer qtdeMaximaParcelas) {
        this.qtdeMaximaParcelas = qtdeMaximaParcelas;
    }

    public Integer getImprimeParcelas() {
        return imprimeParcelas;
    }

    public void setImprimeParcelas(Integer imprimeParcelas) {
        this.imprimeParcelas = imprimeParcelas;
    }

    public Integer getTecladoReduzido() {
        return tecladoReduzido;
    }

    public void setTecladoReduzido(Integer tecladoReduzido) {
        this.tecladoReduzido = tecladoReduzido;
    }

    public Integer getUsaLeitorSerial() {
        return usaLeitorSerial;
    }

    public void setUsaLeitorSerial(Integer usaLeitorSerial) {
        this.usaLeitorSerial = usaLeitorSerial;
    }

    public String getPortaLeitorSerial() {
        return portaLeitorSerial;
    }

    public void setPortaLeitorSerial(String portaLeitorSerial) {
        this.portaLeitorSerial = portaLeitorSerial;
    }

    public String getBaudLeitorSerial() {
        return baudLeitorSerial;
    }

    public void setBaudLeitorSerial(String baudLeitorSerial) {
        this.baudLeitorSerial = baudLeitorSerial;
    }

    public String getSufixoLeitorSerial() {
        return sufixoLeitorSerial;
    }

    public void setSufixoLeitorSerial(String sufixoLeitorSerial) {
        this.sufixoLeitorSerial = sufixoLeitorSerial;
    }

    public String getIntervaloLeitorSerial() {
        return intervaloLeitorSerial;
    }

    public void setIntervaloLeitorSerial(String intervaloLeitorSerial) {
        this.intervaloLeitorSerial = intervaloLeitorSerial;
    }

    public String getDataLeitorSerial() {
        return dataLeitorSerial;
    }

    public void setDataLeitorSerial(String dataLeitorSerial) {
        this.dataLeitorSerial = dataLeitorSerial;
    }

    public Integer getParidadeLeitorSerial() {
        return paridadeLeitorSerial;
    }

    public void setParidadeLeitorSerial(Integer paridadeLeitorSerial) {
        this.paridadeLeitorSerial = paridadeLeitorSerial;
    }

    public Integer getHardFlowLeitorSerial() {
        return hardFlowLeitorSerial;
    }

    public void setHardFlowLeitorSerial(Integer hardFlowLeitorSerial) {
        this.hardFlowLeitorSerial = hardFlowLeitorSerial;
    }

    public Integer getSoftFlowLeitorSerial() {
        return softFlowLeitorSerial;
    }

    public void setSoftFlowLeitorSerial(Integer softFlowLeitorSerial) {
        this.softFlowLeitorSerial = softFlowLeitorSerial;
    }

    public Integer getHandShakeLeitorSerial() {
        return handShakeLeitorSerial;
    }

    public void setHandShakeLeitorSerial(Integer handShakeLeitorSerial) {
        this.handShakeLeitorSerial = handShakeLeitorSerial;
    }

    public Integer getStopLeitorSerial() {
        return stopLeitorSerial;
    }

    public void setStopLeitorSerial(Integer stopLeitorSerial) {
        this.stopLeitorSerial = stopLeitorSerial;
    }

    public Integer getFilaLeitorSerial() {
        return filaLeitorSerial;
    }

    public void setFilaLeitorSerial(Integer filaLeitorSerial) {
        this.filaLeitorSerial = filaLeitorSerial;
    }

    public Integer getExcluiSufixoLeitorSerial() {
        return excluiSufixoLeitorSerial;
    }

    public void setExcluiSufixoLeitorSerial(Integer excluiSufixoLeitorSerial) {
        this.excluiSufixoLeitorSerial = excluiSufixoLeitorSerial;
    }

    public Integer getLancamentoNotasManuais() {
        return lancamentoNotasManuais;
    }

    public void setLancamentoNotasManuais(Integer lancamentoNotasManuais) {
        this.lancamentoNotasManuais = lancamentoNotasManuais;
    }

    public String getNumSerieEcf() {
        return numSerieEcf;
    }

    public void setNumSerieEcf(String numSerieEcf) {
        this.numSerieEcf = numSerieEcf;
    }

    public Integer getTefTipoGp() {
        return tefTipoGp;
    }

    public void setTefTipoGp(Integer tefTipoGp) {
        this.tefTipoGp = tefTipoGp;
    }

    public Integer getTefTempoEspera() {
        return tefTempoEspera;
    }

    public void setTefTempoEspera(Integer tefTempoEspera) {
        this.tefTempoEspera = tefTempoEspera;
    }

    public Integer getTefEsperaSts() {
        return tefEsperaSts;
    }

    public void setTefEsperaSts(Integer tefEsperaSts) {
        this.tefEsperaSts = tefEsperaSts;
    }

    public Integer getTefNumeroVias() {
        return tefNumeroVias;
    }

    public void setTefNumeroVias(Integer tefNumeroVias) {
        this.tefNumeroVias = tefNumeroVias;
    }

    public Integer getDecimaisQuantidade() {
        return decimaisQuantidade;
    }

    public void setDecimaisQuantidade(Integer decimaisQuantidade) {
        this.decimaisQuantidade = decimaisQuantidade;
    }

    public Integer getDecimaisValor() {
        return decimaisValor;
    }

    public void setDecimaisValor(Integer decimaisValor) {
        this.decimaisValor = decimaisValor;
    }

    public Integer getBitsPorSegundo() {
        return bitsPorSegundo;
    }

    public void setBitsPorSegundo(Integer bitsPorSegundo) {
        this.bitsPorSegundo = bitsPorSegundo;
    }

    public Integer getQtdeMaximaCartoes() {
        return qtdeMaximaCartoes;
    }

    public void setQtdeMaximaCartoes(Integer qtdeMaximaCartoes) {
        this.qtdeMaximaCartoes = qtdeMaximaCartoes;
    }

    public String getConfiguracaoBalanca() {
        return configuracaoBalanca;
    }

    public void setConfiguracaoBalanca(String configuracaoBalanca) {
        this.configuracaoBalanca = configuracaoBalanca;
    }

    public String getParametrosDiversos() {
        return parametrosDiversos;
    }

    public void setParametrosDiversos(String parametrosDiversos) {
        this.parametrosDiversos = parametrosDiversos;
    }

    public Integer getUltimaExclusao() {
        return ultimaExclusao;
    }

    public void setUltimaExclusao(Integer ultimaExclusao) {
        this.ultimaExclusao = ultimaExclusao;
    }

    public String getLaudo() {
        return laudo;
    }

    public void setLaudo(String laudo) {
        this.laudo = laudo;
    }

    public String getIndiceGerencial() {
        return indiceGerencial;
    }

    public void setIndiceGerencial(String indiceGerencial) {
        this.indiceGerencial = indiceGerencial;
    }

    public Date getDataAtualizacaoEstoque() {
        return dataAtualizacaoEstoque;
    }

    public void setDataAtualizacaoEstoque(Date dataAtualizacaoEstoque) {
        this.dataAtualizacaoEstoque = dataAtualizacaoEstoque;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof EcfConfiguracao)) {
            return false;
        }
        EcfConfiguracao other = (EcfConfiguracao) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.chronos.pafecf.entidades.EcfConfiguracao[ id=" + id + " ]";
    }

}
